package com.vertigrated.text;

public enum Language
{
    AFAR("aa", "Afar"),
    ABKHAZIAN("ab", "Abkhazian"),
    AFRIKAANS("af", "Afrikaans"),
    AMHARIC("am", "Amharic"),
    ARABIC("ar", "Arabic"),
    ASSAMESE("as", "Assamese"),
    AYMARA("ay", "Aymara"),
    AZERBAIJANI("az", "Azerbaijani"),
    BASHKIR("ba", "Bashkir"),
    BYELORUSSIAN("be", "Byelorussian"),
    BULGARIAN("bg", "Bulgarian"),
    BIHARI("bh", "Bihari"),
    BISLAMA("bi", "Bislama"),
    BENGALI("bn", "Bengali"),
    TIBETAN("bo", "Tibetan"),
    BRETON("br", "Breton"),
    CATALAN("ca", "Catalan"),
    CORSICAN("co", "Corsican"),
    CZECH("cs", "Czech"),
    WELSH("cy", "Welsh"),
    DANISH("da", "Danish"),
    GERMAN("de", "German"),
    BHUTANI("dz", "Bhutani"),
    GREEK("el", "Greek"),
    ENGLISH("en", "English"),
    ESPERANTO("eo", "Esperanto"),
    SPANISH("es", "Spanish"),
    ESTONIAN("et", "Estonian"),
    BASQUE("eu", "Basque"),
    PERSIAN("fa", "Persian"),
    FINNISH("fi", "Finnish"),
    FIJI("fj", "Fiji"),
    FAROESE("fo", "Faroese"),
    FRENCH("fr", "French"),
    FRISIAN("fy", "Frisian"),
    IRISH("ga", "Irish"),
    SCOTS_GAELIC("gd", "Scots Gaelic"),
    GALICIAN("gl", "Galician"),
    GUARANI("gn", "Guarani"),
    GUJARATI("gu", "Gujarati"),
    HAUSA("ha", "Hausa"),
    HEBREW("he", "Hebrew"),
    HINDI("hi", "Hindi"),
    CROATIAN("hr", "Croatian"),
    HUNGARIAN("hu", "Hungarian"),
    ARMENIAN("hy", "Armenian"),
    INTERLINGUA("ia", "Interlingua"),
    INDONESIAN("id", "Indonesian"),
    INTERLINGUE("ie", "Interlingue"),
    INUPIAK("ik", "Inupiak"),
    ICELANDIC("is", "Icelandic"),
    ITALIAN("it", "Italian"),
    INUKTITUT("iu", "Inuktitut"),
    JAPANESE("ja", "Japanese"),
    JAVANESE("jw", "Javanese"),
    GEORGIAN("ka", "Georgian"),
    KAZAKH("kk", "Kazakh"),
    GREENLANDIC("kl", "Greenlandic"),
    CAMBODIAN("km", "Cambodian"),
    KANNADA("kn", "Kannada"),
    KOREAN("ko", "Korean"),
    KASHMIRI("ks", "Kashmiri"),
    KURDISH("ku", "Kurdish"),
    KIRGHIZ("ky", "Kirghiz"),
    LATIN("la", "Latin"),
    LINGALA("ln", "Lingala"),
    LAOTHIAN("lo", "Laothian"),
    LITHUANIAN("lt", "Lithuanian"),
    LATVIAN("lv", "Latvian"),
    MALAGASY("mg", "Malagasy"),
    MAORI("mi", "Maori"),
    MACEDONIAN("mk", "Macedonian"),
    MALAYALAM("ml", "Malayalam"),
    MONGOLIAN("mn", "Mongolian"),
    MOLDAVIAN("mo", "Moldavian"),
    MARATHI("mr", "Marathi"),
    MALAY("ms", "Malay"),
    MALTESE("mt", "Maltese"),
    BURMESE("my", "Burmese"),
    NAURU("na", "Nauru"),
    NEPALI("ne", "Nepali"),
    DUTCH("nl", "Dutch"),
    NORWEGIAN("no", "Norwegian"),
    OCCITAN("oc", "Occitan"),
    OROMO("om", "Oromo"),
    ORIYA("or", "Oriya"),
    PUNJABI("pa", "Punjabi"),
    POLISH("pl", "Polish"),
    PASHTO_PUSHTO("ps", "Pashto, Pushto"),
    PORTUGUESE("pt", "Portuguese"),
    QUECHUA("qu", "Quechua"),
    RHAETO_ROMANCE("rm", "Rhaeto-Romance"),
    KIRUNDI("rn", "Kirundi"),
    ROMANIAN("ro", "Romanian"),
    RUSSIAN("ru", "Russian"),
    KINYARWANDA("rw", "Kinyarwanda"),
    SANSKRIT("sa", "Sanskrit"),
    SINDHI("sd", "Sindhi"),
    SANGHO("sg", "Sangho"),
    SERBO_CROATIAN("sh", "Serbo-Croatian    "),
    SINHALESE("si", "Sinhalese"),
    SLOVAK("sk", "Slovak"),
    SLOVENIAN("sl", "Slovenian"),
    SAMOAN("sm", "Samoan"),
    SHONA("sn", "Shona"),
    SOMALI("so", "Somali"),
    ALBANIAN("sq", "Albanian"),
    SERBIAN("sr", "Serbian"),
    SISWATI("ss", "Siswati"),
    SESOTHO("st", "Sesotho"),
    SUNDANESE("su", "Sundanese"),
    SWEDISH("sv", "Swedish"),
    SWAHILI("sw", "Swahili"),
    TAMIL("ta", "Tamil"),
    TELUGU("te", "Telugu"),
    TAJIK("tg", "Tajik"),
    THAI("th", "Thai"),
    TIGRINYA("ti", "Tigrinya"),
    TURKMEN("tk", "Turkmen"),
    TAGALOG("tl", "Tagalog"),
    SETSWANA("tn", "Setswana"),
    TONGA("to", "Tonga"),
    TURKISH("tr", "Turkish"),
    TSONGA("ts", "Tsonga"),
    TATAR("tt", "Tatar"),
    TWI("tw", "Twi"),
    UIGHUR("ug", "Uighur"),
    UKRAINIAN("uk", "Ukrainian"),
    URDU("ur", "Urdu"),
    UZBEK("uz", "Uzbek"),
    VIETNAMESE("vi", "Vietnamese"),
    VOLAPUK("vo", "Volapuk"),
    WOLOF("wo", "Wolof"),
    XHOSA("xh", "Xhosa"),
    YIDDISH("yi", "Yiddish"),
    YORUBA("yo", "Yoruba"),
    ZHUANG("za", "Zhuang"),
    CHINESE("zh", "Chinese"),
    ZULU("zu", "Zulu");

    private final String abbrv;
    private final String name;

    private Language(final String abbrv, final String name)
    {
        this.abbrv = abbrv;
        this.name = name;
    }

    public String getAbbrevation()
    {
        return this.abbrv;
    }

    public String getName()
    {
        return this.name;
    }

    public String toString()
    {
        return this.abbrv + ":" + this.name;
    }
}
